In typical computing platform operating systems, pools of data storage (hereinafter “storage”) exist that are managed by subsystems. of the computing platform, many of which are software programs or modules being executed by the processor of the computing platform, but some of which may be hardware-based or circuit-based memory management functions, as well.
In particular, UNIX™ and “UNIX-like” operating systems, including but not limited to International Business Machine Corporation's AIX™, Apple's Max OS-X™, SCO-UNIX™, Hewlett-Packard's HP-UX™, Sun Microsystem's Solarix™, and Linux™. UNIX was originally developed by Bell Laboratories of American Telephone and Telegraph (AT&T), and has become a virtual standard from which many operating systems have emulated operational functionality, some of which are based on derivative development, and others of which are only based on similar operating system concepts. We will refer to these types of operating systems (OS) collectively in the present disclosure, unless specific notation is made to an embodiment or problem relative to a particular variant of operating system.
The i-node storage pool is well-known in operating system technologies as a range of virtual addresses managed by a file system of the operating system. The range of addresses is split into a set of distinct subpieces, the i-node structures themselves. The management of this structure has the following properties:
(a) The objects themselves (the i-nodes) are typically smaller than the page size of the operating system, typically 256-512 kb is managed by a single i-node.
(b) The i-node objects are accessed in a variety of ways, so they must be “pinned” in memory. Thus, they cannot be managed by normal virtual memory management paging functions of the OS.
(c) The range of addresses is known and normally limited to some range of memory. For example, in AIX™, this range can be up to 40% of physical memory, where “physical memory” is a well-known term in computing to refer to the storage capacity of the actual electronic computer readable memory devices associated with a computing platform, such as the total amount of random access memory (RAM) and disk space of a particular computer.